﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace XYZShell.CSHelper.WinAPI.Structures
{
    /// <summary>
    /// By Handle File Information structure, contains File Attributes(32bits), Creation Time(FILETIME),
    /// Last Access Time(FILETIME), Last Write Time(FILETIME), Volume Serial Number(32bits),
    /// File Size High(32bits), File Size Low(32bits), Number of Links(32bits), File Index High(32bits),
    /// File Index Low(32bits).
    /// </summary>
    [StructLayout(LayoutKind.Sequential, Pack = 1)]
    public struct BY_HANDLE_FILE_INFORMATION
    {
        public uint FileAttributes;
        public System.Runtime.InteropServices.ComTypes.FILETIME CreationTime;
        public System.Runtime.InteropServices.ComTypes.FILETIME LastAccessTime;
        public System.Runtime.InteropServices.ComTypes.FILETIME LastWriteTime;
        public uint VolumeSerialNumber;
        public uint FileSizeHigh;
        public uint FileSizeLow;
        public uint NumberOfLinks;
        public uint FileIndexHigh;
        public uint FileIndexLow;
    }
}
